ที่ สถาปัตยกรรมชุดคำสั่ง (ISA) มีบทบาทเป็นระดับการสร้างภาพจำลองขั้นพื้นฐาน ระดับการสร้างภาพจำลอง และเป็นข้อตกลงทางการระหว่างซอฟต์แวร์กับฮาร์ดแวร์ แม้ว่าภาษาขั้นสูงอย่างภาษาซีจะซ่อนความซับซ้อนไว้ แต่สถาปัตยกรรมชุดคำสั่ง (ISA) จะเปิดเผยให้เห็นถึง สถานะทางสถาปัตยกรรม—คือการกำหนดค่าที่แน่นอนของเรจิสเตอร์และหน่วยความจำของโปรเซสเซอร์
1. สถานะทางสถาปัตยกรรม
โปรเซสเซอร์แบบ x86-64 กำหนดสถานะของตนเองผ่านองค์ประกอบหลักหลายประการ:
- โปรแกรมเคาน์เตอร์ (%rip): เก็บที่อยู่ของคำสั่งถัดไป
- ไฟล์เรจิสเตอร์จำนวนเต็ม: เรจิสเตอร์ทั่วไป 16 ตัว (เช่น
%rax,%rbx) เก็บค่า 64 บิต - รหัสเงื่อนไข: แฟล็ก (ZF, SF, CF, OF) สำหรับการควบคุมลำดับการทำงาน
- เรจิสเตอร์เวกเตอร์: เช่น เรจิสเตอร์ YMM (256 บิต) สำหรับการดำเนินการแบบ SIMD
2. การสร้างภาพจำลองหน่วยความจำ
รหัสเครื่องมองเห็นหน่วยความจำเป็นอาร์เรย์ขนาดใหญ่ที่ ระบุโดยไบต์แม้ว่า x86-64 จะรองรับที่อยู่เสมือน 64 บิต แต่การใช้งานในปัจจุบันมักใช้พื้นที่ที่อยู่ 48 บิต ($2^{48}$ ไบต์) เราจัดประเภทขนาดข้อมูลเป็น คำ (16 บิต), คู่คำ (32 บิต) และ สี่คำ (64 บิต)
3. การพัฒนาและการเข้ากันได้
ขับเคลื่อนโดย กฎของมูร์อินเทลได้พัฒนาจากรุ่น 8086 ถึง คอร์ไอ 7 แฮสวิลสถาปัตยกรรมชุดคำสั่ง (ISA) ทำให้มั่นใจว่า การเข้ากันได้ย้อนหลังทำให้โค้ดเครื่องรุ่นเก่าสามารถทำงานบนฮาร์ดแวร์รุ่นใหม่ที่มีหลายคอร์และซับซ้อนได้